package com.ocom.accesservice.controller;

import com.ocom.accesservice.service.*;
import com.ocom.common.constant.AccessServiceUrl;
import com.ocom.common.entity.access.EntityMjGroupInfo;
import com.ocom.common.entity.access.EntityMjTimeInfo;
import com.ocom.common.entity.access.EntityMjTimeZone;
import com.ocom.common.entity.access.EntityMjZoneDate;
import com.ocom.common.resp.Result;
import com.ocom.common.utils.ResultUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class CompanyPara {



    @Autowired
    private ZoneDateService zoneDateService;

    @Autowired
    private TimeZoneService timeZoneService;

    @Autowired
    private GroupInfoService groupInfoService;

    @Autowired
    private TimeInfoService timeInfoService;

    /**
     * 初始化单位门禁参数
     * */
    @PostMapping(AccessServiceUrl.URL_InitCompanyPara)
    public Result InitCompanyPara(Long comId,Long pId,Long companyId){
        //门禁权限组 mj_group_info表添加2条新记录
        EntityMjGroupInfo entityMjGroupInfo1 = new EntityMjGroupInfo();
        entityMjGroupInfo1.setComId(comId);
        entityMjGroupInfo1.setAreaId(0L);
        entityMjGroupInfo1.setGroupNo(1L);
        entityMjGroupInfo1.setGroupName("高级权限");
        groupInfoService.InitCompanyPara(entityMjGroupInfo1,companyId);
        EntityMjGroupInfo entityMjGroupInfo2 = new EntityMjGroupInfo();
        entityMjGroupInfo2.setComId(comId);
        entityMjGroupInfo2.setAreaId(0L);
        entityMjGroupInfo2.setGroupNo(2L);
        entityMjGroupInfo2.setGroupName("普通权限");
        groupInfoService.InitCompanyPara(entityMjGroupInfo2,companyId);


        //门禁时段  mj_group_info表添加3条新记录
        EntityMjTimeInfo entityMjTimeInfo1 = new EntityMjTimeInfo();
        entityMjTimeInfo1.setComId(comId);
        entityMjTimeInfo1.setAreaId(0L);
        entityMjTimeInfo1.setTimeNo(1L);
        entityMjTimeInfo1.setTimeName("全天");
        entityMjTimeInfo1.setZoneNo(1L);
        entityMjTimeInfo1.setGroupNo(1L);
        entityMjTimeInfo1.setBeginTime("00:00");
        entityMjTimeInfo1.setEndTime("00:00");
        timeInfoService.InitCompanyPara(entityMjTimeInfo1,companyId);

        EntityMjTimeInfo entityMjTimeInfo2 = new EntityMjTimeInfo();
        entityMjTimeInfo2.setComId(comId);
        entityMjTimeInfo2.setAreaId(0L);
        entityMjTimeInfo2.setTimeNo(1L);
        entityMjTimeInfo2.setTimeName("全天");
        entityMjTimeInfo2.setZoneNo(1L);
        entityMjTimeInfo2.setGroupNo(2L);
        entityMjTimeInfo2.setBeginTime("00:00");
        entityMjTimeInfo2.setEndTime("00:00");
        timeInfoService.InitCompanyPara(entityMjTimeInfo2,companyId);

        EntityMjTimeInfo entityMjTimeInfo3 = new EntityMjTimeInfo();
        entityMjTimeInfo3.setComId(comId);
        entityMjTimeInfo3.setAreaId(0L);
        entityMjTimeInfo3.setTimeNo(1L);
        entityMjTimeInfo3.setTimeName("全天");
        entityMjTimeInfo3.setZoneNo(2L);
        entityMjTimeInfo3.setGroupNo(1L);
        entityMjTimeInfo3.setBeginTime("00:00");
        entityMjTimeInfo3.setEndTime("00:00");
        timeInfoService.InitCompanyPara(entityMjTimeInfo3,companyId);


        //门禁时区表mj_time_zone表添加2条新记录
        EntityMjTimeZone entityMjTimeZone1 = new EntityMjTimeZone();
        entityMjTimeZone1.setComId(comId);
        entityMjTimeZone1.setZoneNo(1L);
        entityMjTimeZone1.setZoneName("平日");
        entityMjTimeZone1.setStatus(0L);
        timeZoneService.InitCompanyPara(entityMjTimeZone1,companyId);

        EntityMjTimeZone entityMjTimeZone2 = new EntityMjTimeZone();
        entityMjTimeZone2.setComId(comId);
        entityMjTimeZone2.setZoneNo(2L);
        entityMjTimeZone2.setZoneName("节日");
        entityMjTimeZone2.setStatus(0L);
        timeZoneService.InitCompanyPara(entityMjTimeZone2,companyId);

        //门禁时区设置表mj_zone_date 添加7条新记录
        EntityMjZoneDate entityMjZoneDate1 = new EntityMjZoneDate();
        entityMjZoneDate1.setComId(comId);
        entityMjZoneDate1.setZoneNo(1L);
        entityMjZoneDate1.setDayDate(0L);
        entityMjZoneDate1.setDate("0");
        zoneDateService.InitCompanyPara(entityMjZoneDate1,companyId);

        EntityMjZoneDate entityMjZoneDate2 = new EntityMjZoneDate();
        entityMjZoneDate2.setComId(comId);
        entityMjZoneDate2.setZoneNo(1L);
        entityMjZoneDate2.setDayDate(0L);
        entityMjZoneDate2.setDate("1");
        zoneDateService.InitCompanyPara(entityMjZoneDate2,companyId);

        EntityMjZoneDate entityMjZoneDate3 = new EntityMjZoneDate();
        entityMjZoneDate3.setComId(comId);
        entityMjZoneDate3.setZoneNo(1L);
        entityMjZoneDate3.setDayDate(0L);
        entityMjZoneDate3.setDate("2");
        zoneDateService.InitCompanyPara(entityMjZoneDate3,companyId);

        EntityMjZoneDate entityMjZoneDate4 = new EntityMjZoneDate();
        entityMjZoneDate4.setComId(comId);
        entityMjZoneDate4.setZoneNo(1L);
        entityMjZoneDate4.setDayDate(0L);
        entityMjZoneDate4.setDate("3");
        zoneDateService.InitCompanyPara(entityMjZoneDate4,companyId);


        EntityMjZoneDate entityMjZoneDate5 = new EntityMjZoneDate();
        entityMjZoneDate5.setComId(comId);
        entityMjZoneDate5.setZoneNo(1L);
        entityMjZoneDate5.setDayDate(0L);
        entityMjZoneDate5.setDate("4");
        zoneDateService.InitCompanyPara(entityMjZoneDate5,companyId);


        EntityMjZoneDate entityMjZoneDate6 = new EntityMjZoneDate();
        entityMjZoneDate6.setComId(comId);
        entityMjZoneDate6.setZoneNo(1L);
        entityMjZoneDate6.setDayDate(0L);
        entityMjZoneDate6.setDate("5");
        zoneDateService.InitCompanyPara(entityMjZoneDate6,companyId);

        EntityMjZoneDate entityMjZoneDate7 = new EntityMjZoneDate();
        entityMjZoneDate7.setComId(comId);
        entityMjZoneDate7.setZoneNo(1L);
        entityMjZoneDate7.setDayDate(0L);
        entityMjZoneDate7.setDate("6");
        zoneDateService.InitCompanyPara(entityMjZoneDate7,companyId);

        return ResultUtil.success();
    }
}
